import request from "@/utils/request"

export enum OrgType {
  个人 = 1,
  企业 = 2,
}

export enum OrgStatus {
  启用 = 1,
  禁用 = 2,
}

export interface PersonUser {
  id:string
  nickname:string
  telephone:string
}
export interface Org {
  id: number
  /** 公司名称 */
  orgName: string
  /** 公司税号 */
  companyCode: string
  /** 企业类型 */
  orgType: OrgType
  /** 管理员ID */
  userId: string
  /** 管理员名称 */
  nickname: string
  /** 法人姓名 */
  username: string
  /** 法人身份证号 */
  idCode: string
  /** 法人身份证照片 */
  idImg: string;
  /** 公司营业执照或者法人身份证号图片 */
  companyPic: string
  /** 公司地址 */
  province: string
  city: string
  district: string
  companyAddress: string
  /** 状态 */
  status: OrgStatus
  /** 管理员手机号 */
  telephone: string
  /** 分成比例 */
  moneyRate: number
}

export interface QueryOrgListParams extends PaginationParams {
  telephone?: string;
}
export interface QueryCityMListParams extends PaginationParams {
  telephone?: string;
}

export async function queryOrgList(params: PaginationParams) {
  return request<Org[]>('/app/manager/org/list', {
    data: params,
  })
}

export async function queryPersonUserList(params: PaginationParams) {
  return request<PersonUser[]>('/app/manager/person/user/list', {
    data: params,
  })
}
export async function queryCityMList(params: PaginationParams) {
  return request<any[]>('/app/manager/org/city/list', {
    data: params,
  })
}

export async function editOrg(params: Org) {
  return request('/app/manager/org/addOrUp', {
    data: params,
  })
}

export async function getOrgInfo(params: {businessId: number}) {
  return request<Org>('/app/manager/org/detail', {
    data: params,
  })
}

export async function delOrg(params: {
  businessId: number
  status: 1 | 2 | 3, // 1:启用，2-禁用，3-删除
}) {
  return request('/app/manager/org/upStatus', {
    data: params,
  })
}

export enum BankCardType {
  对公账号 = 1,
  法人账号 = 2,
}
export enum BankCardStatus {
  启用 = 1,
  禁用 = 2,
  删除 = 3,
}
export interface BankCard {
  /** 银行卡号 */
  bankCode: string
  /** 开户行 */
  bankName: string
  createTime: number
  id: number
  /** 卡类型 */
  infoType: BankCardType
  /** 经销商 id */
  orgId: number
  status: BankCardStatus
}
export interface QueryBankListParams extends PaginationParams {
  orgId?: number;
}
export async function queryBankList(params: QueryBankListParams) {
  return request<BankCard[]>('/app/manager/org/account/list', {
    data: params,
  })
}
export async function addBankList(params: BankCard) {
  return request('/app/manager/org/account/addOrUp', {
    data: params,
  })
}
export async function delBankList(params: {businessId: number, status: BankCardStatus}) {
  return request('/app/manager/org/account/upStatus', {
    data: params,
  })
}
